/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Estacionamento.Negocio;

import Estacionamento.ClassesBasicas.Cliente;
import Estacionamento.ClassesBasicas.EntradaSaida;
import Estacionamento.ClassesBasicas.Plano;
import Estacionamento.ClassesBasicas.Veiculo;
import Estacionamento.Negocio.ClienteNegocio;
import Estacionamento.Negocio.PlanoNegocio;
import Estacionamento.Negocio.VeiculoNegocio;
import java.util.Date;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

/**
 *
 * @author italo.valenca
 */
public class Fachada implements IFachada{

    public void cadastrarCliente(Cliente cli) throws Exception {
        ClienteNegocio clienteNegocio = new ClienteNegocio();
        clienteNegocio.cadastrarCliente(cli);
    }

    public Cliente listarCliente(String cpf) throws Exception {
        ClienteNegocio clienteNegocio = new ClienteNegocio();
        return clienteNegocio.listarCliente(cpf);
    }

    public void excluirCliente(String cpf) throws Exception {
        ClienteNegocio clienteNegocio = new ClienteNegocio();
        clienteNegocio.excluirCliente(cpf);
    }

    public void alterarCliente(Cliente cli) throws Exception {
        ClienteNegocio clienteNegocio = new ClienteNegocio();
        clienteNegocio.alterarCliente(cli);
    }
    /*
     public List<Cliente> ListarClientesPorNome(Cliente cli) throws Exception {
     ClienteNegocio clienteNegocio = new ClienteNegocio();
     return clienteNegocio.ListarClientesPorNome(cli);
     }*/

    public void cadastrarPlano(Plano plano) throws Exception {
        PlanoNegocio planoNegocio = new PlanoNegocio();
        planoNegocio.cadastrarPlano(plano);
    }

    public Plano listarPlano(String tipo) throws Exception {
        PlanoNegocio planoNegocio = new PlanoNegocio();
        return planoNegocio.listarPlano(tipo);
    }
    public List<Plano> listarTodosPlanos() throws Exception {
        PlanoNegocio planoNegocio = new PlanoNegocio();
        return planoNegocio.listarTodosPlanos();
    }

    public void excluirPlano(Plano plano) throws Exception {
        PlanoNegocio planoNegocio = new PlanoNegocio();
        planoNegocio.excluirPlano(plano);
    }

    public void alterarPlano(Plano plano) throws Exception {
        PlanoNegocio planoNegocio = new PlanoNegocio();
        planoNegocio.alterarPlano(plano);
    }
    /*
     public List<Plano> listarPlanoporCliente(Cliente cli) throws Exception {
     PlanoNegocio planoNegocio = new PlanoNegocio();
     return planoNegocio.listarPedidoporCliente(cli);
     }
     */

    public void cadastrarVeiculo(Veiculo vei) throws Exception {
        VeiculoNegocio veiculoNegocio = new VeiculoNegocio();
        veiculoNegocio.cadastrarVeiculo(vei);
    }

    public Veiculo listarVeiculo(String placaLetras, String placaNumero) throws Exception {
        VeiculoNegocio veiculoNegocio = new VeiculoNegocio();
        return veiculoNegocio.listarVeiculo(placaLetras, placaNumero);
    }

    public void excluirVeiculo(Veiculo vei) throws Exception {
        VeiculoNegocio veiculoNegocio = new VeiculoNegocio();
        veiculoNegocio.excluirVeiculo(vei);
    }

    public void alterarVeiculo(Veiculo vei) throws Exception {
        VeiculoNegocio veiculoNegocio = new VeiculoNegocio();
        veiculoNegocio.alterarVeiculo(vei);
    }
    /*
     public List<Veiculo> listarPedidoPorCliente(Cliente cli) throws Exception {
     VeiculoNegocio veiculoNegocio = new VeiculoNegocio();
     return veiculoNegocio.listarVeiculoPorCliente(cli);
     }*/
    
    public void cadastrarEntradaSaida(EntradaSaida entSai) throws Exception {
        EntradaSaidaNegocio entradaSaidaNegocio = new EntradaSaidaNegocio();
        entradaSaidaNegocio.cadastrarEntradaSaida(entSai);
    }
    public List<EntradaSaida> listarEntradaSaidaTodos() throws Exception {
        EntradaSaidaNegocio entradaSaidaNegocio = new EntradaSaidaNegocio();
        return entradaSaidaNegocio.listarEntradaSaidaTodos();
    }

    public List<EntradaSaida> listarEntradaSaidaCliente(String cpf) throws Exception {
        EntradaSaidaNegocio entradaSaidaNegocio = new EntradaSaidaNegocio();
        return entradaSaidaNegocio.listarEntradaSaidaCliente(cpf);
    }

    public void alterarEntradaSaida(EntradaSaida saida) throws Exception {
        EntradaSaidaNegocio entradaSaidaNegocio = new EntradaSaidaNegocio();
        entradaSaidaNegocio.alterarEntradaSaida(saida);
    }
    public EntradaSaida listarUltimaEntradaSaidaCliente(String cpf) throws Exception{
        EntradaSaidaNegocio entradaSaidaNegocio = new EntradaSaidaNegocio();
        return entradaSaidaNegocio.listarUltimaEntradaSaidaCliente(cpf);
    }
}